a. Field of the Invention
The present invention relates to a video on demand (VOD) systems of the type wherein multiple clients are serviced by video streams delivered from a central video server.
b. Related Art
A distributed real-time client server environment includes multiple clients and servers where each client's file system makes real-time I/O requests (i.e., requests with deadlines) to the servers responsible for retrieving the requested data. An example of such a system is a video server system consisting of multiple front-end client nodes with network adapters and back-end nodes or storage servers. In the presence of replication, the same data block may be present on multiple servers. At any random instant of time, the load (i.e., the number of requests waiting to be served or in service) on different servers is likely to be different. Additionally, different servers may have different performance characteristics (e.g., transfer speed, seek time, etc.).
A straightforward approach to server selection would be to randomly choose a server for an I/O operation. This approach, however, may require the servers to be run at a lower utilization to avoid missing deadlines.